
import java.math.BigDecimal;

/**
 * 
 * @author Nizar
 * 
 */
public abstract class Expr {

	public BigDecimal evaluate() {

		return evaluate(new Env());		
	}

	public abstract BigDecimal evaluate(Env env);
	public abstract String toString();

	public abstract boolean isUnExpr();
	public abstract boolean isSeqExpr();
	public abstract boolean isAssignExpr();
	public abstract boolean isPlusBinExpr();
	public abstract boolean isMinusBinExpr();
	public abstract boolean isTimesBinExpr();
	public abstract boolean isDivideBinExpr();
	public abstract boolean isNum();
	public abstract boolean isId();

}
